package core.hmxchen.log;

import core.hmxchen.log.entity.MethodInfo;
import core.hmxchen.log.enums.Level;
import org.slf4j.Logger;

/**
 * @program: log-print
 * @description: 日志打印格式接口
 * @author: hmxchen
 * @create: 2021-09-03 14:38
 **/
public interface LogFormatter {
    /**
     * 格式化
     * @param log 日志对象
     * @param level 日志级别
     * @param busName 业务名称
     * @param methodInfo 方法信息
     * @param args 参数列表
     * @param filterParamNames 参数过滤列表
     * @param result 返回结果
     * @param throwable
     */
    void format(
            Logger log,
            Level level,
            String busName,
            MethodInfo methodInfo,
            Object[] args,
            String[] filterParamNames,
            Object result,
            Throwable throwable);
}
